/**
 * @author: Gene
 * @age: 永远18岁的美少年
 * @Email： yangjianyun@58.com
 * @date: 2021-12-23 11:43:52
 * @description:  ts 中的类型别名
 */
/** 1. 类型别名 type 看起来和接口类似, 区别之处在于*/
/**
 *  1. 接口可以实现 extends 约束 和 implements. 但是类型别名不行
 *  2. 类型别名并不会创建新的类型, 是对原有类型的一个引用, 而接口会定义一个新的类型.
 *  3. 接口只能用于定义对象类型,
 *      而类型别名的声明方式除了对象之外, 还可以定义 交叉, 联合, 原始类型等.
 */

// 类型别名是最初 TypeScript 做类型约束的主要形式，后来引入接口之后，
// TypeScript 推荐我们尽可能的使用接口来规范我们的代码。